package com.dingding.transfer.stamper.service;

import com.alibaba.fastjson.JSONObject;
import com.dingding.transfer.stamper.dto.*;
import com.dingding.transfer.stamper.entity.CompInfo;
import com.dingding.transfer.stamper.entity.UseStampRecord;

import java.util.List;

/**
 * @author wangxiyuan
 * @description 钉钉常用接口调用
 * @createDate 2021/3/30 17:05
 **/
public interface DingDingService {
    List<DeptInfo> getDeptInfo(CompInfo compInfo, String deptId);

    List<UserInfo> getUserInfo(CompInfo compInfo,String deptId);

    UserInfo getUserInfo(String corpId,String userId);

    JSONObject getInstanceInfo(String corpId,String processId);

    /**
     * 获取表单信息
     * @param processId
     * @return
     */
    List<FormComponent> getFormDetails(String corpId,String processId);

    /**
     * 获取模板信息
     * @param compId 公司Id
     * @param userId 员工id
     * @param templeteName 模板名称
     * @return
     */
    TempleteInfo getTempleteInfo(String corpId,String userId,String templeteName);

    /**
     * 创建日志
     * @param templeteInfo 模板信息
     * @param toUserIds 发送用户Id
     * @param stampRecords 加盖印章记录
     * @return
     */
    BaseResult createInfo(CompInfo compInfo,TempleteInfo templeteInfo,String[] toUserIds,List<UseStampRecord> stampRecords);
}
